package com.zimmur.service.order;

import java.util.List;

import com.zimmur.model.goods.WishListParam;
import com.zimmur.model.goods.WishListResParam;
import com.zimmur.model.order.WishList;
import com.zimmur.tools.PageUtil;

/**
* <p>Title: IWishListService</p>
* <p>Description: </p>
* <p>Company: zimmur</p>
* <p>Copyright: Copyright (c) 2017</p>
* @author huangsx
* @version 1.0
* @time 2018年1月10日 下午7:46:21
*/
public interface IWishListService {
	/**
	* <p>Title: addWishList</p>
	* <p>Description: 添加愿望清单</p>
	* @param goodsId
	* @param userId
	* @param resource
	* @return
	 */
	public boolean addWishList(long goodsId,long userId,String resource);
	/**
	* <p>Title: MoveInFromCart</p>
	* <p>Description:从购物车移入愿望清单 </p>
	* @param userId
	* @param cartId
	* @param goodsId
	* @param resource
	* @return
	 */
	public int MoveInWishList(long userId,long cartId,long googsId,String resource );
	/**
	* <p>Title: MoveToCart</p>
	* <p>Description:愿望单添加到购物车 </p>
	* @param userId
	* @param wishId
	* @return
	 */
	public boolean MoveToCart(long userId,long goodsId,long sizeCode,Integer quantity,int isPrepay);
	/**
	* <p>Title: delete</p>
	* <p>Description: 删除愿望清单</p>
	* @param wishId
	* @return
	 */
	public Boolean delete(long userId,long wishId);
	/**
	* <p>Title: queryByUser</p>
	* <p>Description: 通过用户id查询愿望清单</p>
	* @param param
	* @return
	 */
	public PageUtil<WishListResParam> queryByUser(WishListParam param);
	/**
	* <p>Title: selectByGoodsIdAndUserId</p>
	* <p>Description: 根据商品ID和用户查询愿望单</p>
	* @param userId
	* @param wishId
	* @return
	 */
	public WishList selectByGoodsIdAndUserId(long userId,long goodsId);
	/**
	 * 获取用户愿望单列表
	* @Title: selectByUserId 
	* @Description: 获取用户愿望单列表
	* @param userId
	* @return List<WishList>    返回类型
	 */
	public List<WishList> selectByUserId(long userId);
	/**
	 * 根据用户ID查询愿望单数量
	* @Title: queryWishNumByUserId 
	* @Description: 根据用户ID查询愿望单数量
	* @param userId
	* @return int    返回类型
	 */
	public int queryWishNumByUserId(long userId);
	
}
